/**
 * Copyright 2020 OPSLI 快速开发平台 https://www.opsli.com
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package org.opsli.modulars.business.gasWorkTask.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.opsli.api.wrapper.gasWorkTask.GasWorkTaskModel;
import org.opsli.api.wrapper.gasWorkTask.GasWorkTaskRecordModel;
import org.opsli.core.base.service.interfaces.CrudServiceInterface;


import org.opsli.modulars.business.gasWorkTask.entity.GasWorkTask;
import org.opsli.modulars.business.gasWorkTask.entity.GasWorkTaskData;

/**
 * 燃气派单 Service
 *
 * @author Ljc
 * @date 2022-07-14 16:35:26
 */
public interface IGasWorkTaskService extends CrudServiceInterface<GasWorkTask, GasWorkTaskModel> {

    /**
     *  app 获取当前用户所分配的任务（只显示任务已开始的）
     * @param page
     * @param gasWorkTaskData
     * @param beginSize
     * @param endSize
     * @return
     */
    public Page<GasWorkTaskData> getGasWorkTaskList(Page<GasWorkTaskData> page, GasWorkTaskData gasWorkTaskData, Integer beginSize, Integer endSize);

    /**
     * 获取 当前系统未完成的数据
     * @param page
     * @param gasWorkTaskData
     * @param beginSize
     * @param endSize
     * @return
     */
    public Page<GasWorkTaskData> getGasWorkCommonList(Page<GasWorkTaskData> page, GasWorkTaskData gasWorkTaskData, Integer beginSize, Integer endSize);

    /**
     *  app 获取当前用户未完成的 已完成的
     * @param page
     * @param gasWorkTaskData
     * @param beginSize
     * @param endSize
     * @return
     */
    public Page<GasWorkTaskData> gasWorkCheckList(Page<GasWorkTaskData> page, GasWorkTaskData gasWorkTaskData, Integer beginSize, Integer endSize);

    /**
     * 重新派发时 把原数据清空
     * @param id
     */
    public void getUpdateId(String id);

    public Integer getTaskReold(String id,String userId);

    public  GasWorkTaskData getByTaskId(String taskId);

}
